মাইগ্রেশন এবং ডাটাবেজ আপডেট

Web Development - এএসপি ডট (ASP.Net) - ডাটাবেজ ইন্টিগ্রেশন (Entity Framework Core) |

ASP.Net Core অ্যাপ্লিকেশনগুলিতে ডাটাবেসের সাথে কাজ করার জন্য Entity Framework Core ব্যবহৃত হয়। মাইগ্রেশন এবং ডাটাবেজ আপডেট হলো ডাটাবেস স্কিমা (schema) পরিবর্তন এবং পরিচালনার জন্য গুরুত্বপূর্ণ পদক্ষেপ। Entity Framework Core ব্যবহার করে আপনি ডাটাবেসের কাঠামো (schema) পরিবর্তন, নতুন টেবিল বা কলাম যোগ করা, এবং ডাটাবেস আপডেট করতে পারেন।


১. Entity Framework Core এবং মাইগ্রেশন

Entity Framework Core (EF Core) একটি ORM (Object-Relational Mapping) টুল, যা .NET অ্যাপ্লিকেশনগুলির জন্য ডাটাবেস অ্যাক্সেস সহজ করে। মাইগ্রেশন ব্যবহারের মাধ্যমে, আপনি ডাটাবেসের কাঠামোর পরিবর্তন বা আপডেট পরিচালনা করতে পারেন, এবং এই পরিবর্তনগুলি ডাটাবেসে ডাটাবেস স্কিমা হিসেবে বাস্তবায়িত হয়।


২. মাইগ্রেশন তৈরি করা

মাইগ্রেশন হল একটি পরিবর্তন যা আপনার ডাটাবেসের কাঠামো (যেমন টেবিল, কলাম) পরিবর্তন করে, এবং এটি EF Core ব্যবহার করে স্বয়ংক্রিয়ভাবে তৈরি করা যায়।

১.1. মাইগ্রেশন তৈরি করার জন্য প্রয়োজনীয় প্রস্তুতি

  • প্রথমে, আপনার ডাটাবেস কনটেক্সট (DbContext) ফাইল এবং মডেল ক্লাসগুলো তৈরি করতে হবে।
  • Microsoft.EntityFrameworkCore.Tools প্যাকেজ ইনস্টল করা নিশ্চিত করুন। আপনি এটি NuGet Package Manager বা .NET CLI এর মাধ্যমে ইনস্টল করতে পারেন।

১.2. মাইগ্রেশন তৈরি করা

  1. NuGet Package Manager Console থেকে:
    • Visual Studio > Tools > NuGet Package Manager > Package Manager Console এ যান।
    • মাইগ্রেশন কমান্ড টাইপ করুন:

      Add-Migration <MigrationName>
      

      উদাহরণ:

      Add-Migration InitialCreate
      

      এখানে, InitialCreate হলো মাইগ্রেশনের নাম। আপনি এই নামটি পরিবর্তন করে আপনার প্রোজেক্টের জন্য উপযুক্ত রাখতে পারেন।

  2. .NET CLI ব্যবহার করে:
    • Command Prompt বা Terminal থেকে আপনার প্রজেক্টের ডিরেক্টরিতে যান এবং নিচের কমান্ডটি চালান:

      dotnet ef migrations add <MigrationName>
      

১.3. মাইগ্রেশন ফাইল

যখন আপনি Add-Migration কমান্ড চালাবেন, তখন একটি নতুন মাইগ্রেশন ফাইল তৈরি হবে, যা ডাটাবেসের কাঠামো পরিবর্তনের কোড ধারণ করবে। উদাহরণস্বরূপ:

public partial class InitialCreate : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.CreateTable(
            name: "Products",
            columns: table => new
            {
                Id = table.Column<int>(nullable: false)
                    .Annotation("SqlServer:Identity", "1, 1"),
                Name = table.Column<string>(nullable: true),
                Price = table.Column<decimal>(nullable: false)
            },
            constraints: table =>
            {
                table.PrimaryKey("PK_Products", x => x.Id);
            });
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.DropTable(
            name: "Products");
    }
}

এই কোডটি Products নামক একটি টেবিল তৈরি করবে, যেখানে Id, Name, এবং Price কলাম থাকবে।


৩. ডাটাবেস আপডেট করা

একবার মাইগ্রেশন ফাইল তৈরি হয়ে গেলে, আপনাকে ডাটাবেস আপডেট করতে হবে যাতে মাইগ্রেশনটি ডাটাবেসে প্রতিফলিত হয়।

৩.1. ডাটাবেস আপডেট করার জন্য কমান্ড

  1. NuGet Package Manager Console থেকে:
    • Visual Studio > Tools > NuGet Package Manager > Package Manager Console এ যান।
    • ডাটাবেস আপডেট করার জন্য নিচের কমান্ডটি চালান:

      Update-Database
      
    • এটি আপনার ডাটাবেসে মাইগ্রেশন পরিবর্তনগুলো প্রয়োগ করবে।
  2. .NET CLI থেকে:
    • Command Prompt বা Terminal থেকে, ডাটাবেস আপডেট করতে নিচের কমান্ডটি চালান:

      dotnet ef database update
      

এই কমান্ডটি ডাটাবেসে সমস্ত মাইগ্রেশন পরিবর্তন (যেমন নতুন টেবিল বা কলাম যোগ করা) প্রয়োগ করবে।


৪. ডাটাবেসের বর্তমান অবস্থা পরীক্ষা করা

আপনি যদি জানতে চান যে কোন মাইগ্রেশনটি ইতোমধ্যে ডাটাবেসে প্রয়োগ হয়েছে, তবে আপনি নিচের কমান্ডটি ব্যবহার করতে পারেন:

  1. NuGet Package Manager Console:

    Get-Migration
    
  2. .NET CLI:

    dotnet ef migrations list
    

৫. মাইগ্রেশন বাতিল করা

যদি আপনি কোনো মাইগ্রেশন বাতিল করতে চান, তবে আপনি Remove-Migration কমান্ড ব্যবহার করতে পারেন। তবে এটি শুধুমাত্র যদি মাইগ্রেশনটি এখনও ডাটাবেসে আপডেট না হয়ে থাকে তবেই কাজ করবে।

Remove-Migration

৬. সারসংক্ষেপ

মাইগ্রেশন এবং ডাটাবেস আপডেটের মাধ্যমে, Entity Framework Core আপনার ডাটাবেস কাঠামো এবং অ্যাপ্লিকেশনের মধ্যে সুসংগততা বজায় রাখতে সহায়তা করে। মাইগ্রেশন ব্যবহার করে আপনি ডাটাবেসের পরিবর্তনগুলি পরিচালনা করতে পারেন এবং সহজেই ডাটাবেসের কাঠামো আপডেট করতে পারেন, যার ফলে অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণ সহজ এবং স্কেলযোগ্য হয়।

Content added By
Promotion